#include<bits/stdc++.h>
using namespace std;
const int N=25;

int n,m,t;
int arr[N];
int ans=0;

void dfs(int box,int space,int cnt,int num){
    if(num==n){
        ans=max(ans,cnt);
        return;
    }
    //get
    if(space>=arr[num]){
        dfs(box,space-arr[num],cnt+1,num+1);
    }
    else if(box<m-1&&arr[num]<=t){
        dfs(box+1,t-arr[num],cnt+1,num+1);
    }
    //give up
    dfs(box,space,cnt,num+1);
}

int main(){
    scanf("%d%d%d",&n,&t,&m);
    for(int i=0;i<n;i++){
        scanf("%d",&arr[i]);
    }
    dfs(0,t,0,0);
    printf("%d",ans);
    return 0;
}